package com.wetao.lib_common.greendao.dao;

import java.util.Map;

import org.greenrobot.greendao.AbstractDao;
import org.greenrobot.greendao.AbstractDaoSession;
import org.greenrobot.greendao.database.Database;
import org.greenrobot.greendao.identityscope.IdentityScopeType;
import org.greenrobot.greendao.internal.DaoConfig;

import com.wetao.lib_common.greendao.model.AnswerCard;
import com.wetao.lib_common.greendao.model.AssistantExam;
import com.wetao.lib_common.greendao.model.AssistantExamOnline;
import com.wetao.lib_common.greendao.model.AssistantQuestion;
import com.wetao.lib_common.greendao.model.AssistantQuestionOnline;
import com.wetao.lib_common.greendao.model.ExamListen;
import com.wetao.lib_common.greendao.model.ExaminationPointItem;
import com.wetao.lib_common.greendao.model.FlexiImg;
import com.wetao.lib_common.greendao.model.HttpCacheItem;
import com.wetao.lib_common.greendao.model.NoticeItem;
import com.wetao.lib_common.greendao.model.PageGrid;
import com.wetao.lib_common.greendao.model.PagePicture;
import com.wetao.lib_common.greendao.model.PagePictureGrid;
import com.wetao.lib_common.greendao.model.PagePictureOnline;
import com.wetao.lib_common.greendao.model.PenOffLineGridInfo;
import com.wetao.lib_common.greendao.model.PenOffLineGridInfoChild;
import com.wetao.lib_common.greendao.model.QuestionGrid;
import com.wetao.lib_common.greendao.model.QuestionRevisionItem;
import com.wetao.lib_common.greendao.model.ReadPushRecord;
import com.wetao.lib_common.greendao.model.StudentIdToEn;
import com.wetao.lib_common.greendao.model.UserItem;
import com.wetao.lib_common.greendao.model.WireExam;
import com.wetao.lib_common.greendao.model.WireQuestion;
import com.wetao.lib_common.greendao.model.WireQuestionPicture;

import com.wetao.lib_common.greendao.dao.AnswerCardDao;
import com.wetao.lib_common.greendao.dao.AssistantExamDao;
import com.wetao.lib_common.greendao.dao.AssistantExamOnlineDao;
import com.wetao.lib_common.greendao.dao.AssistantQuestionDao;
import com.wetao.lib_common.greendao.dao.AssistantQuestionOnlineDao;
import com.wetao.lib_common.greendao.dao.ExamListenDao;
import com.wetao.lib_common.greendao.dao.ExaminationPointItemDao;
import com.wetao.lib_common.greendao.dao.FlexiImgDao;
import com.wetao.lib_common.greendao.dao.HttpCacheItemDao;
import com.wetao.lib_common.greendao.dao.NoticeItemDao;
import com.wetao.lib_common.greendao.dao.PageGridDao;
import com.wetao.lib_common.greendao.dao.PagePictureDao;
import com.wetao.lib_common.greendao.dao.PagePictureGridDao;
import com.wetao.lib_common.greendao.dao.PagePictureOnlineDao;
import com.wetao.lib_common.greendao.dao.PenOffLineGridInfoDao;
import com.wetao.lib_common.greendao.dao.PenOffLineGridInfoChildDao;
import com.wetao.lib_common.greendao.dao.QuestionGridDao;
import com.wetao.lib_common.greendao.dao.QuestionRevisionItemDao;
import com.wetao.lib_common.greendao.dao.ReadPushRecordDao;
import com.wetao.lib_common.greendao.dao.StudentIdToEnDao;
import com.wetao.lib_common.greendao.dao.UserItemDao;
import com.wetao.lib_common.greendao.dao.WireExamDao;
import com.wetao.lib_common.greendao.dao.WireQuestionDao;
import com.wetao.lib_common.greendao.dao.WireQuestionPictureDao;

// THIS CODE IS GENERATED BY greenDAO, DO NOT EDIT.

/**
 * {@inheritDoc}
 * 
 * @see org.greenrobot.greendao.AbstractDaoSession
 */
public class DaoSession extends AbstractDaoSession {

    private final DaoConfig answerCardDaoConfig;
    private final DaoConfig assistantExamDaoConfig;
    private final DaoConfig assistantExamOnlineDaoConfig;
    private final DaoConfig assistantQuestionDaoConfig;
    private final DaoConfig assistantQuestionOnlineDaoConfig;
    private final DaoConfig examListenDaoConfig;
    private final DaoConfig examinationPointItemDaoConfig;
    private final DaoConfig flexiImgDaoConfig;
    private final DaoConfig httpCacheItemDaoConfig;
    private final DaoConfig noticeItemDaoConfig;
    private final DaoConfig pageGridDaoConfig;
    private final DaoConfig pagePictureDaoConfig;
    private final DaoConfig pagePictureGridDaoConfig;
    private final DaoConfig pagePictureOnlineDaoConfig;
    private final DaoConfig penOffLineGridInfoDaoConfig;
    private final DaoConfig penOffLineGridInfoChildDaoConfig;
    private final DaoConfig questionGridDaoConfig;
    private final DaoConfig questionRevisionItemDaoConfig;
    private final DaoConfig readPushRecordDaoConfig;
    private final DaoConfig studentIdToEnDaoConfig;
    private final DaoConfig userItemDaoConfig;
    private final DaoConfig wireExamDaoConfig;
    private final DaoConfig wireQuestionDaoConfig;
    private final DaoConfig wireQuestionPictureDaoConfig;

    private final AnswerCardDao answerCardDao;
    private final AssistantExamDao assistantExamDao;
    private final AssistantExamOnlineDao assistantExamOnlineDao;
    private final AssistantQuestionDao assistantQuestionDao;
    private final AssistantQuestionOnlineDao assistantQuestionOnlineDao;
    private final ExamListenDao examListenDao;
    private final ExaminationPointItemDao examinationPointItemDao;
    private final FlexiImgDao flexiImgDao;
    private final HttpCacheItemDao httpCacheItemDao;
    private final NoticeItemDao noticeItemDao;
    private final PageGridDao pageGridDao;
    private final PagePictureDao pagePictureDao;
    private final PagePictureGridDao pagePictureGridDao;
    private final PagePictureOnlineDao pagePictureOnlineDao;
    private final PenOffLineGridInfoDao penOffLineGridInfoDao;
    private final PenOffLineGridInfoChildDao penOffLineGridInfoChildDao;
    private final QuestionGridDao questionGridDao;
    private final QuestionRevisionItemDao questionRevisionItemDao;
    private final ReadPushRecordDao readPushRecordDao;
    private final StudentIdToEnDao studentIdToEnDao;
    private final UserItemDao userItemDao;
    private final WireExamDao wireExamDao;
    private final WireQuestionDao wireQuestionDao;
    private final WireQuestionPictureDao wireQuestionPictureDao;

    public DaoSession(Database db, IdentityScopeType type, Map<Class<? extends AbstractDao<?, ?>>, DaoConfig>
            daoConfigMap) {
        super(db);

        answerCardDaoConfig = daoConfigMap.get(AnswerCardDao.class).clone();
        answerCardDaoConfig.initIdentityScope(type);

        assistantExamDaoConfig = daoConfigMap.get(AssistantExamDao.class).clone();
        assistantExamDaoConfig.initIdentityScope(type);

        assistantExamOnlineDaoConfig = daoConfigMap.get(AssistantExamOnlineDao.class).clone();
        assistantExamOnlineDaoConfig.initIdentityScope(type);

        assistantQuestionDaoConfig = daoConfigMap.get(AssistantQuestionDao.class).clone();
        assistantQuestionDaoConfig.initIdentityScope(type);

        assistantQuestionOnlineDaoConfig = daoConfigMap.get(AssistantQuestionOnlineDao.class).clone();
        assistantQuestionOnlineDaoConfig.initIdentityScope(type);

        examListenDaoConfig = daoConfigMap.get(ExamListenDao.class).clone();
        examListenDaoConfig.initIdentityScope(type);

        examinationPointItemDaoConfig = daoConfigMap.get(ExaminationPointItemDao.class).clone();
        examinationPointItemDaoConfig.initIdentityScope(type);

        flexiImgDaoConfig = daoConfigMap.get(FlexiImgDao.class).clone();
        flexiImgDaoConfig.initIdentityScope(type);

        httpCacheItemDaoConfig = daoConfigMap.get(HttpCacheItemDao.class).clone();
        httpCacheItemDaoConfig.initIdentityScope(type);

        noticeItemDaoConfig = daoConfigMap.get(NoticeItemDao.class).clone();
        noticeItemDaoConfig.initIdentityScope(type);

        pageGridDaoConfig = daoConfigMap.get(PageGridDao.class).clone();
        pageGridDaoConfig.initIdentityScope(type);

        pagePictureDaoConfig = daoConfigMap.get(PagePictureDao.class).clone();
        pagePictureDaoConfig.initIdentityScope(type);

        pagePictureGridDaoConfig = daoConfigMap.get(PagePictureGridDao.class).clone();
        pagePictureGridDaoConfig.initIdentityScope(type);

        pagePictureOnlineDaoConfig = daoConfigMap.get(PagePictureOnlineDao.class).clone();
        pagePictureOnlineDaoConfig.initIdentityScope(type);

        penOffLineGridInfoDaoConfig = daoConfigMap.get(PenOffLineGridInfoDao.class).clone();
        penOffLineGridInfoDaoConfig.initIdentityScope(type);

        penOffLineGridInfoChildDaoConfig = daoConfigMap.get(PenOffLineGridInfoChildDao.class).clone();
        penOffLineGridInfoChildDaoConfig.initIdentityScope(type);

        questionGridDaoConfig = daoConfigMap.get(QuestionGridDao.class).clone();
        questionGridDaoConfig.initIdentityScope(type);

        questionRevisionItemDaoConfig = daoConfigMap.get(QuestionRevisionItemDao.class).clone();
        questionRevisionItemDaoConfig.initIdentityScope(type);

        readPushRecordDaoConfig = daoConfigMap.get(ReadPushRecordDao.class).clone();
        readPushRecordDaoConfig.initIdentityScope(type);

        studentIdToEnDaoConfig = daoConfigMap.get(StudentIdToEnDao.class).clone();
        studentIdToEnDaoConfig.initIdentityScope(type);

        userItemDaoConfig = daoConfigMap.get(UserItemDao.class).clone();
        userItemDaoConfig.initIdentityScope(type);

        wireExamDaoConfig = daoConfigMap.get(WireExamDao.class).clone();
        wireExamDaoConfig.initIdentityScope(type);

        wireQuestionDaoConfig = daoConfigMap.get(WireQuestionDao.class).clone();
        wireQuestionDaoConfig.initIdentityScope(type);

        wireQuestionPictureDaoConfig = daoConfigMap.get(WireQuestionPictureDao.class).clone();
        wireQuestionPictureDaoConfig.initIdentityScope(type);

        answerCardDao = new AnswerCardDao(answerCardDaoConfig, this);
        assistantExamDao = new AssistantExamDao(assistantExamDaoConfig, this);
        assistantExamOnlineDao = new AssistantExamOnlineDao(assistantExamOnlineDaoConfig, this);
        assistantQuestionDao = new AssistantQuestionDao(assistantQuestionDaoConfig, this);
        assistantQuestionOnlineDao = new AssistantQuestionOnlineDao(assistantQuestionOnlineDaoConfig, this);
        examListenDao = new ExamListenDao(examListenDaoConfig, this);
        examinationPointItemDao = new ExaminationPointItemDao(examinationPointItemDaoConfig, this);
        flexiImgDao = new FlexiImgDao(flexiImgDaoConfig, this);
        httpCacheItemDao = new HttpCacheItemDao(httpCacheItemDaoConfig, this);
        noticeItemDao = new NoticeItemDao(noticeItemDaoConfig, this);
        pageGridDao = new PageGridDao(pageGridDaoConfig, this);
        pagePictureDao = new PagePictureDao(pagePictureDaoConfig, this);
        pagePictureGridDao = new PagePictureGridDao(pagePictureGridDaoConfig, this);
        pagePictureOnlineDao = new PagePictureOnlineDao(pagePictureOnlineDaoConfig, this);
        penOffLineGridInfoDao = new PenOffLineGridInfoDao(penOffLineGridInfoDaoConfig, this);
        penOffLineGridInfoChildDao = new PenOffLineGridInfoChildDao(penOffLineGridInfoChildDaoConfig, this);
        questionGridDao = new QuestionGridDao(questionGridDaoConfig, this);
        questionRevisionItemDao = new QuestionRevisionItemDao(questionRevisionItemDaoConfig, this);
        readPushRecordDao = new ReadPushRecordDao(readPushRecordDaoConfig, this);
        studentIdToEnDao = new StudentIdToEnDao(studentIdToEnDaoConfig, this);
        userItemDao = new UserItemDao(userItemDaoConfig, this);
        wireExamDao = new WireExamDao(wireExamDaoConfig, this);
        wireQuestionDao = new WireQuestionDao(wireQuestionDaoConfig, this);
        wireQuestionPictureDao = new WireQuestionPictureDao(wireQuestionPictureDaoConfig, this);

        registerDao(AnswerCard.class, answerCardDao);
        registerDao(AssistantExam.class, assistantExamDao);
        registerDao(AssistantExamOnline.class, assistantExamOnlineDao);
        registerDao(AssistantQuestion.class, assistantQuestionDao);
        registerDao(AssistantQuestionOnline.class, assistantQuestionOnlineDao);
        registerDao(ExamListen.class, examListenDao);
        registerDao(ExaminationPointItem.class, examinationPointItemDao);
        registerDao(FlexiImg.class, flexiImgDao);
        registerDao(HttpCacheItem.class, httpCacheItemDao);
        registerDao(NoticeItem.class, noticeItemDao);
        registerDao(PageGrid.class, pageGridDao);
        registerDao(PagePicture.class, pagePictureDao);
        registerDao(PagePictureGrid.class, pagePictureGridDao);
        registerDao(PagePictureOnline.class, pagePictureOnlineDao);
        registerDao(PenOffLineGridInfo.class, penOffLineGridInfoDao);
        registerDao(PenOffLineGridInfoChild.class, penOffLineGridInfoChildDao);
        registerDao(QuestionGrid.class, questionGridDao);
        registerDao(QuestionRevisionItem.class, questionRevisionItemDao);
        registerDao(ReadPushRecord.class, readPushRecordDao);
        registerDao(StudentIdToEn.class, studentIdToEnDao);
        registerDao(UserItem.class, userItemDao);
        registerDao(WireExam.class, wireExamDao);
        registerDao(WireQuestion.class, wireQuestionDao);
        registerDao(WireQuestionPicture.class, wireQuestionPictureDao);
    }
    
    public void clear() {
        answerCardDaoConfig.clearIdentityScope();
        assistantExamDaoConfig.clearIdentityScope();
        assistantExamOnlineDaoConfig.clearIdentityScope();
        assistantQuestionDaoConfig.clearIdentityScope();
        assistantQuestionOnlineDaoConfig.clearIdentityScope();
        examListenDaoConfig.clearIdentityScope();
        examinationPointItemDaoConfig.clearIdentityScope();
        flexiImgDaoConfig.clearIdentityScope();
        httpCacheItemDaoConfig.clearIdentityScope();
        noticeItemDaoConfig.clearIdentityScope();
        pageGridDaoConfig.clearIdentityScope();
        pagePictureDaoConfig.clearIdentityScope();
        pagePictureGridDaoConfig.clearIdentityScope();
        pagePictureOnlineDaoConfig.clearIdentityScope();
        penOffLineGridInfoDaoConfig.clearIdentityScope();
        penOffLineGridInfoChildDaoConfig.clearIdentityScope();
        questionGridDaoConfig.clearIdentityScope();
        questionRevisionItemDaoConfig.clearIdentityScope();
        readPushRecordDaoConfig.clearIdentityScope();
        studentIdToEnDaoConfig.clearIdentityScope();
        userItemDaoConfig.clearIdentityScope();
        wireExamDaoConfig.clearIdentityScope();
        wireQuestionDaoConfig.clearIdentityScope();
        wireQuestionPictureDaoConfig.clearIdentityScope();
    }

    public AnswerCardDao getAnswerCardDao() {
        return answerCardDao;
    }

    public AssistantExamDao getAssistantExamDao() {
        return assistantExamDao;
    }

    public AssistantExamOnlineDao getAssistantExamOnlineDao() {
        return assistantExamOnlineDao;
    }

    public AssistantQuestionDao getAssistantQuestionDao() {
        return assistantQuestionDao;
    }

    public AssistantQuestionOnlineDao getAssistantQuestionOnlineDao() {
        return assistantQuestionOnlineDao;
    }

    public ExamListenDao getExamListenDao() {
        return examListenDao;
    }

    public ExaminationPointItemDao getExaminationPointItemDao() {
        return examinationPointItemDao;
    }

    public FlexiImgDao getFlexiImgDao() {
        return flexiImgDao;
    }

    public HttpCacheItemDao getHttpCacheItemDao() {
        return httpCacheItemDao;
    }

    public NoticeItemDao getNoticeItemDao() {
        return noticeItemDao;
    }

    public PageGridDao getPageGridDao() {
        return pageGridDao;
    }

    public PagePictureDao getPagePictureDao() {
        return pagePictureDao;
    }

    public PagePictureGridDao getPagePictureGridDao() {
        return pagePictureGridDao;
    }

    public PagePictureOnlineDao getPagePictureOnlineDao() {
        return pagePictureOnlineDao;
    }

    public PenOffLineGridInfoDao getPenOffLineGridInfoDao() {
        return penOffLineGridInfoDao;
    }

    public PenOffLineGridInfoChildDao getPenOffLineGridInfoChildDao() {
        return penOffLineGridInfoChildDao;
    }

    public QuestionGridDao getQuestionGridDao() {
        return questionGridDao;
    }

    public QuestionRevisionItemDao getQuestionRevisionItemDao() {
        return questionRevisionItemDao;
    }

    public ReadPushRecordDao getReadPushRecordDao() {
        return readPushRecordDao;
    }

    public StudentIdToEnDao getStudentIdToEnDao() {
        return studentIdToEnDao;
    }

    public UserItemDao getUserItemDao() {
        return userItemDao;
    }

    public WireExamDao getWireExamDao() {
        return wireExamDao;
    }

    public WireQuestionDao getWireQuestionDao() {
        return wireQuestionDao;
    }

    public WireQuestionPictureDao getWireQuestionPictureDao() {
        return wireQuestionPictureDao;
    }

}
